package ch.fhnw.ams.sudoku;

import java.net.URL;
import java.util.Locale;
import java.util.ResourceBundle;


/**
 * Contains only global constants
 * 
 * @author amsler
 *
 */
public final class Globals {
	
	/** the application resources */
	public final static ResourceBundle APP_RESOURCES = ResourceBundle.getBundle("ApplicationResources");
	
	/** the name of the application */
	public final static String APP_NAME = APP_RESOURCES.getString("application.name");
	
	/** the url of the project host */
	public final static String URL = APP_RESOURCES.getString("project.url");
	
	/** the version of the application e.g. 1.0.2*/
	public final static String APP_VERSION = APP_RESOURCES.getString("application.version");
	
	/** the version of the jdk the application was build with*/
	public final static String JAVA_VERSION = APP_RESOURCES.getString("java.version");
	
	/** the name of the current user*/
	public final static String USER_NAME = System.getProperty("user.name");
	
	/** the path seperator for the current OS */
	public final static String SEP = System.getProperty("file.separator");
	
	/** Sudoku Sidekick home directory for the current user e.g. for Windows C:\Users\theNameOfTheUser\.SudokuSK */
	public final static String USER_HOME_DIR = System.getProperty("user.home") + SEP + ".SudokuSK";
	
	/** Sudoku Sidekick filename extensions */
	public final static String FILE_SUFFIX = ".ssk";
	
	/** Contains all info messages for the current language*/
	public final static ResourceBundle MSG = ResourceBundle.getBundle("Messages", Locale.getDefault());
	
	/** XML file with the input actions */
	public final static URL ACTIONS_URL = ClassLoader.getSystemResource("Actions.xml");
	
	/** Sidekick image for the info dialog */
	public final static URL SIDEKICK_IMAGE_URL = ClassLoader.getSystemResource("Sidekick_small.png");
	
	/** default file name */
	public final static String DEFAULT_SSK_FILE_NAME = "sudoku.ssk";
	
	/**
	 * do not instantiate this class
	 */
	private Globals(){}

}
